Zabbix监控系统 第一部分:zabbix服务部署+自定义监控项+自动发现与自动注册(附详细部署实例) |
您所在的位置:网站首页 › zabbix 监控网络设备常用监控项 › Zabbix监控系统 第一部分:zabbix服务部署+自定义监控项+自动发现与自动注册(附详细部署实例) |
这里是目录
一、Zabbix概述1.1 简介1.2 zabbix组件1.2.1 zabbix server1.2.2 zabbix agent1.2.3 zabbix proxy1.2.4 zabbix database(mysql oracle postgreSQL tsdb等)1.2.5 zabbix web(apache/nginx + php)1.2.6 zabbix java gateway
1.3 工作原理1.4 端口号1.5 zabbix中预设的键值1.6 自定义监控项1.7 邮件报警的思路1.8 Zabbix自动发现和自动注册1.8.1 zabbix自动发现1.8.2 zabbix自动注册
二、部署Zabbix 6.0版本2.1 部署zabbix服务端Step1 部署 Nginx + PHP 环境并测试Step2 部署数据库Step3 编译安装zabbix Server 服务端Step4 效果测试(部署 Web 前端,进行访问)
2.2 添加 zabbix 客户端主机Step1 服务端和客户端设置时间同步Step2 服务端和客户端设置域名映射Step3 客户端安装zabbix-agent2Step4 修改agent2的配置文件,启动服务Step5 在服务端验证 zabbix-agent2 的连通性Step6 在 Web 页面中添加 agent 主机
2.3 解决 zabbix-server Web页面中文乱码问题
三、自定义监控内容部署实例Step1 在客户端创建自定义 keyStep2 在 Web 页面创建自定义监控项模板Step3 测试邮件报警
四、zabbix 自动发现与自动注册部署实例4.1 部署zabbix自动发现4.2 部署zabbix自动注册
一、Zabbix概述
zabbix 是一个基于 Web 界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。 zabbix 能监视各种网络参数,保证服务器系统的安全运营,提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。 zabbix 由 2 部分构成,zabbix server 与可选组件 zabbix agent。 通过 C/S 模式采集数据,通过 B/S 模式在 Web 端展示和配置。 zabbix server 可以通过 SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能, 它可以运行在 Linux 等平台上。 zabbix agent 需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU 等信息的收集。 1.2 zabbix组件zabbix_server、zabbix_agent、zabbix_proxy、zabbix_get、zabbix_sender 等。 1.2.1 zabbix serverzabbix服务端进程,配置和管理zabbix应用程序,也是监控系统的告警中心(配置监控项告警触发器阈值和发送告警)。 端口10050 1.2.2 zabbix agent部署在被监控主机上,采集监控指标数据,发送给zabbix server 1.2.3 zabbix proxyzabbix代理端进程,部署在zabbix server与zabbix agent之间,代替zabbix server收集zabbix agent发送的监控指标数据,汇总后再转发给 zabbix server,分担zabbix server的集中式负载压力。 端口10051 1.2.4 zabbix database(mysql oracle postgreSQL tsdb等)持久化存储配置信息和监控指标数据。 1.2.5 zabbix web(apache/nginx + php)进行zabbix服务端配置和监控数据的UI界面展示。 1.2.6 zabbix java gateway作为获取从java应用采集的监控指标数据的代理端。 端口10052 1.3 工作原理zabbix agent会定期采集被监控主机的指标数据并发送给zabbix server; zabbix server收到数据后会将数据存储到zabbix database中; 管理员可基于zabbix web前端查看监控数据的图像。 1.4 端口号 组件端口号zabbix server10051zabbix agent10050 1.5 zabbix中预设的键值 agent.ping #服务端与客户端是否连通,返回1表示可达,返回非表示不可达 system.hostname #系统主机名 agent.hostname #客户端主机名 net.if.in[if,] #网络接口进入的流量统计,if表示网卡名称,带的参数表示可以省略 net.if.out[if,] #网络接口流出的流量统计 proc.num[,,,,] #进程数 net.tcp.port[,port] #检查是否能建立tcp连接到指定端口,返回0表示不能连接,返回1表示可以连接如果没有想要的功能,需要自定义键值。 1.6 自定义监控项1)先明确获取监控指标数据的命令或脚本; 2)在被监控主机配置文件子目录(/etc/zabbix/zabbix_agent2.d/)中创建以.conf后缀的监控项配置文件,自定义获取监控指标数据的键值; #监控项配置文件内容格式 UserParameter=键值名,获取值的命令/脚本路径 #用逗号隔开3)在服务端Web管理页面中依次添加 模板 - 监控项 - 触发器 - 图形 4)关联监控主机和监控模板。 1.7 邮件报警的思路1)在服务端web管理页面 [管理]-[报警媒介类型]中设置 媒介类型和报警消息内容; 2)在[User Settings] - [Profile] - [报警媒介] 中设置 类型、收件人、启用时间、严重级别; 3)在[配置] - [动作] - [触发动作] 中添加报警触发条件和操作内容; 4)测试。 1.8 Zabbix自动发现和自动注册自动发现和自动注册功能使得在大规模环境中的网络设备和主机的监控变得更加简单和自动化,并且减少了手动配置和管理的工作量。 1.8.1 zabbix自动发现zabbix server服务端主动发现zabbix agent客户端。 理论部分 zabbix 自动发现(对于 agent2 是被动模式) zabbix server 主动的去发现所有的客户端,然后将客户端的信息登记在服务端上。 缺点是如果定义的网段中的主机数量多,zabbix server 登记耗时较久,且压力会较大 实现思路 1)在【配置】-【自动发现】创建发现规则,设置 IP范围 自动发现检查的键值system.uname; 2)在【配置】-【动作】-【发现动作】创建动作,设置 动作条件 和 操作内容。 1.8.2 zabbix自动注册zabbix agent客户端主动找zabbix server服务端注册。 理论部分 zabbix 自动注册(对于 agent2 是主动模式)。 zabbix agent2 会主动上报自己的信息,发给 zabbix server。 缺点是可能因为配置文件配置错误或者网络不通等原因导致 zabbix agent2 可能找不到 zabbix server。 实现思路 1)在【配置】-【动作】-【自动注册动作】创建动作,设置 动作条件 和 操作内容; 2)启动动作。 如果定义的网段中的主机数量多,zabbix server 登记耗时较久,且压力会较大 二、部署Zabbix 6.0版本 ServerIPZabbix-server192.168.2.100Zabbix-agent01192.168.2.102 #关闭 selinux 与防火墙 systemctl disable --now firewalld setenforce 0 2.1 部署zabbix服务端zabbix-server Step1 部署 Nginx + PHP 环境并测试1.安装nginx,修改配置文件 #安装 nginx cat > /etc/yum.repos.d/nginx.repo 后面一路 Y #"mysql_secure_installation" 是一个用于设置和加固 MySQL 安装的脚本工具 #提示您输入数据库的 root 用户密码。如果尚未设置密码,则按回车键留空。 #询问您是否需要更改 root 密码。根据需求选择 Y 或 N。 #提示您删除匿名用户。如果不希望数据库中存在匿名用户,选择 Y。 # 提示您禁用 root 远程登录。如果不希望 root 用户能够通过远程连接访问数据库,选择 Y。 #提示您删除测试数据库。如果不需要默认的测试数据库,选择 Y。 #提示您重新加载权限表以使更改生效。选择 Y 来重新加载权限表。
3.创建数据库并指定字符集 create database zabbix character set utf8 collate utf8_bin;4.创建 zabbix 数据库用户并授权 grant all on zabbix.* to 'zabbix'@'localhost' identified by 'zabbix'; grant all on zabbix.* to 'zabbix'@'%' identified by 'zabbix'; flush privileges;5.准备zabbix源码包并解压 #上传源码包 zabbix-6.0.13.tar.gz 到 /opt 目录 cd /opt tar xf zabbix-6.0.13.tar.gz ls /opt/zabbix-6.0.13/database/mysql #data.sql:这个文件包含了 Zabbix 数据库的实际数据,包括监控项、触发器、历史数据等。 # double.sql:这个文件包含了用于移除重复数据的 SQL 查询语句。 #history_pk_prepare.sql:这个文件包含了用于优化历史数据表的 SQL 查询语句。 #images.sql:这个文件包含了用于存储和管理图像数据的 SQL 查询语句。 #Makefile.am 和 Makefile.in:这两个文件是用于构建 Zabbix 数据库的 Makefile 配置文件。 #schema.sql:这个文件包含了 Zabbix 数据库的表结构、索引、键等定义。这是创建和初始化整个数据库的主要文件。6.按照顺序向数据库导入 zabbix 数据 cd /opt/zabbix-6.0.13/database/mysql mysql -uroot -pabc123 zabbix 【仪表板】,确认报警1.增加连接数 ssh 192.168.2.100 #远程连接,以root用户2.查看【监测】–>【仪表板】 3.查看邮箱
1.确保客户端上的 zabbix-agent2 服务状态正常 systemctl is-active zabbix-agent2.service2.在 Web 页面删除原有的客户端主机 点击左边菜单栏【配置】中的【主机】,勾选原有的客户端主机,点击 删除 3.在服务端和客户端上配置 hosts 解析 vim /etc/hosts 192.168.2.100 zbx-server 192.168.2.102 zbx-agent01 192.168.2.103 zbx-agent024.在 Web 页面配置自动发现 点击左边菜单栏【配置】中的【自动发现】,点击【创建发现规则】 【名称】设置成 mynetwork 【IP范围】设置成 192.168.80.1-254 【更新间隔】设置成 30s 【检查】点击添加,【检查类型】选择 Zabbix 客户端,【端口范围】设置成 10050,【键值】设置成 system.uname 【设备唯一性准则】选择 IP地址 【主机名称】选择 DNS名称 【可见的名称】选择 主机名称 勾选 【已启用】 点击 【添加】
5.在服务端查看 zabbix 日志 tail -f /var/log/zabbix_server.log1.前置准备 点击左边菜单栏【配置】中的【发现动作】,勾选发现规则,点击 禁用 点击左边菜单栏【配置】中的【主机】,勾选原有的客户端主机,点击 删除
2.修改 zabbix-agent2 配置文件 vim /etc/zabbix/zabbix_agent2.conf ...... HostnameItem=system.hostname #152行,取消注释3.在 Web 页面配置自动注册 点击左边菜单栏【配置】中的【动作】,上方菜单选择 【自动注册动作】,点击【创建动作】
4.在服务端查看 zabbix 日志 tail -f /var/log/zabbix_server.log |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |